﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using HopeBus.Model;

namespace HopeBus.Business
{
    class AdmCidade
    {
        private ModeloDoSistemaContainer repositorioDoSistema;

        private ModeloDoSistemaContainer Repositorio
        {
            get
            {
                if (repositorioDoSistema == null)
                {
                    repositorioDoSistema = new ModeloDoSistemaContainer();
                    return repositorioDoSistema;
                }
                return repositorioDoSistema;
            }
        }

        #region CRUD Cidade
        public bool AdicionarCidade(String nome)
        {
            Cidade cidade = new Cidade();
            cidade.Nome = nome;

            Repositorio.CidadeSet.Add(cidade);
            Repositorio.SaveChanges();
            return true;
        }

        public void EditarCidade(int id, String nome)
        {
            Cidade cidade = Repositorio.CidadeSet.Find(id);
            cidade.Nome = nome;
            Repositorio.SaveChanges();
        }

        public bool RemoverCidade(int id)
        {
            Cidade cidade = Repositorio.CidadeSet.Find(id);
            Repositorio.CidadeSet.Remove(cidade);
            Repositorio.SaveChanges();
            return true;
        }

        public List<Cidade> ListarCidades()
        {
            ModeloDoSistemaContainer conteiner = new ModeloDoSistemaContainer();
            return conteiner.CidadeSet.OrderBy(Cidade => Cidade.Nome).ToList();
        }

        public List<Cidade> buscarCidades(String filtro)
        {
            ModeloDoSistemaContainer conteiner = new ModeloDoSistemaContainer();
            return conteiner.CidadeSet.Where(cidade => cidade.Nome.Contains(filtro)).Select(cidade => cidade).OrderBy(Cidade => Cidade.Nome).ToList();
        }

         public Cidade buscarCidade(int id)
        {
            return Repositorio.CidadeSet.Find(id);
        }
        #endregion CRUD Cidade

        #region CRUD Horario



        #endregion CRUD Horario
    }
}
